package com.pureut.equipment.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.pureut.equipment.domain.InspectionWorkOrder;
import com.pureut.equipment.domain.dto.InspectionWorkOrderDto;
import com.pureut.equipment.domain.vo.AuditVo;
import com.pureut.equipment.domain.vo.InspectionWorkOrderVo;

import java.util.List;

/***
 *
 * Author:点检工单service
 * Date:2023/04/25 13:11
 * @DESC
 */
public interface InspectionWorkOrderService extends IService<InspectionWorkOrder> {

    /**
     * 点检工单列表
     */
    List<InspectionWorkOrderDto> getList(InspectionWorkOrderVo inspectionWorkOrderVo);

    /**
     * 点检工单新增
     */
    boolean add(InspectionWorkOrderVo inspectionWorkOrderVo) throws Exception;

    /**
     * 点检工单新增(当日触发调用)
     */
    boolean addToday(InspectionWorkOrderVo inspectionWorkOrderVo) throws Exception;

    /**
     * 点检工单新增(定时任务调用)
     */
    boolean schedulingAdd(InspectionWorkOrderVo inspectionWorkOrderVo) throws Exception;

    /**
     * 点检工单派工
     */
    boolean dispatch(InspectionWorkOrderVo inspectionWorkOrderVo);

    /**
     * 执行点检
     */
    boolean execute(InspectionWorkOrderVo inspectionWorkOrderVo);

    /**
     * 提交审核
     */
    boolean audit(Long id);

    /**
     * 撤销审核
     */
    boolean revocation(Long id);

    /**
     * 单据审核
     */
    boolean documentAudit(AuditVo auditVo);

    /**
     * 修改
     */
    boolean updateInspectionOrder(InspectionWorkOrderVo inspectionWorkOrderVo);

    /**
     * 查看
     */
    InspectionWorkOrderDto getView(Long id);

    /**
     * 删除
     */
    boolean deleteWorkOrder(Long id);
}
